The present invention relates to publishing documents in a publish/subscribe data processing system, and in particular, it relates to publishing a document after a defined time interval.
Computer systems and software applications can interact through a model of communication known as publish/subscribe. In a publish/subscribe system, information is published as documents by a broker. The broker can be a software application or a broker computer system. Each published document is categorized into a topic. The topic for a document can reflect the content or context of the document. Subscribers, such as subscriber software applications or subscriber computer systems, can create subscriptions with the broker to receive a copy of documents published to a particular, subscribed, topic. Once a subscriber has a subscription for a topic, a copy of all documents published for that topic are sent to the subscriber.
FIG. 1 is a block diagram of a typical publish/subscribe system in the prior art. A subscriber 102, generates a subscription 104 with a broker 108 for a particular topic 106. The broker 108 includes a document sender 110 that sends a copy of a published document 112 for the subscribed topic 106 to the subscriber 102. A typical pseudo-code design for the subscriber 102 can be:
Subscribe to topic 106Loop{  Wait for document 112 published to topic 106  Process published document 112}
Thus once the subscriber 102 has a subscription with the broker 108 for the topic 106, a copy of all documents published for the topic 106 are sent to the subscriber 102. Using this model the subscriber 102 only receives published documents when they are published, and all published documents are send to the subscriber. Where there is a long time interval between publication of documents the subscriber 102 will not receive any new published documents for the entire time interval. In some subscriber applications, such as a news headline ticker application, it is desirable to have regular updates of the latest published document regardless of whether new documents have been published. Conversely, where a large number of documents are published in a short space of time the subscriber will receive all published documents. For example, in a broker of stock price information can publish a large number of updated stock price documents every second. Such a large number of published documents burdens the subscriber 102 with excessive information. It is known in the art for the subscriber 102 to create the subscription 104 but for the subscriber 102 to not receive published documents. However, this results in an all-or-nothing approach where the subscriber 102 either receives all published documents, or none of the published documents.